Home > Professional Development Courses >


Advanced C Programming for Embedded Systems  

 

Introduction

The Advanced C programming course provides the participants with an understanding of advanced C programming concepts like pointer operations, bitwise operations, structures and unions, file I/O, interrupt processing, memory allocation, linked list, binary tree, sorting etc. The course is geared towards the use of C language in developing software for embedded systems. In addition, debugging and optimization techniques and portability issues for C programs written for embedded systems will be introduced and discussed. 

Course Objectives

The course aims to equip participants with an in-depth understanding of the C language and acquire the hands on experience and confidence to write C programs for their embedded systems project.  

Course Outline

Day 1
Recap of basic C concepts, C pre-processing, compilation and linking, makefiles, advanced pointer concepts and operations, function pointers, bitwise operations, structures, unions, type casting and aliasing

Day 2
Data sorting, arrays, linked list, binary trees, stacks and queues, file I/O, interrupts design and processing

Day 3
Profiling and optimization of C programs, defensive programming for C, debugging C programs, linting and static code checking, C portability issues in embedded systems

Hands-on exercise will be carried during the class and participants will be provided with a hardware board to work on. Participants are welcomed to bring home the hardware after the course.  

Trainer(s)

Mr Teng, Philip

Mr Philip Teng graduated with a BEng (EE) degree from National University of Singapore and received his Masters in Electrical and Computer Engineering from Carnegie Mellon University, USA. He has been working on embedded systems software in DSO National Labs for the last ten years. He has extensive experience in developing mission critical software for commercial and defense applications, such as the unmanned ground vehicle for PSA. Currently, he is the team leader for software development in the Satellite Engineering Centre, NTU, involved in developing the on-board flight software for Singapore’s first micro-satellite programme.

Who Should Attend

This course is recommended for software developers who have basic C programming understanding and are looking to understand advanced C programming concepts for embedded systems software development.

Course Pre-requisite:
Basic C programming concepts, like C expressions and operators, control statements, standard I/O, variable declarations.  

Course Details

Date:

16 to 18 September 2009 

Time:

9:00am to 5:00pm 

Venue:

NTU@one-north campus, Executive Centre 

Closing Date:

2 September 2009 

Fee:

Standard: SGD$980   Alumni: SGD$784   Group (3 & Above): SGD$882

 

Registration fees inclusive of:

  • Course materials

  • Light refreshments

  • Lunch

  • Complimentary parking (1 entry/day) - applicable at NTU@one-north campus only.

  • Prevailing GST

Online Registration

>> CLICK HERE to Register Online

 

Methods of Payment

1. Credit Card (Visa and Mastercard only)

2. Cheque made payable to Nanyang Technological University

3. Invoice to Company (for Company Sponsored Participants)

4. E-invoice (for Government Organizations)

Cancellation & Refund Policy

Written notification to cce@ntu.edu.sg or fax: (+65) 6774 2911 at least 10 days before course commencement

No cancellation charges
(Full refund)

Written notification within 4 – 9 days before course commencement

50% of course fees
(50% refund)

Written notification within 3 days before course commencement

100% of course fees
(No refund)

 

 

Engineering | Accounts/Business/HRM | IT & Information Studies | Personal Development | Communications | Education

 

© 2009 Nanyang Technological University. All rights reserved. Copyright, Disclaimer, Privacy Statement.